﻿''' <summary>
''' Common interface to be implemented by any database provider.
''' </summary>
''' <remarks></remarks>
''' <editHistory></editHistory>
Public Interface IExecutionProvider
    Inherits IDisposable

    ''' <summary>
    ''' Initializes the execution context.
    ''' </summary>
    ''' <param name="project"></param>
    ''' <param name="connectionString"></param>
    ''' <remarks>This is called once.  This call is made before any calls to Execute.</remarks>
    Sub Initialize(ByVal project As ScriptProject, ByVal connectionString As String)

    ''' <summary>
    ''' Executes the specified scriptItem
    ''' </summary>
    ''' <param name="scriptItem"></param>
    ''' <returns></returns>
    Function Execute(ByVal scriptItem As ScriptItem) As ScriptExecutionResult

End Interface
